/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package quienesquien;

import java.io.*;
//import java.util.logging.Level;
//import java.util.logging.Logger;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;
import java.util.HashMap;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.data.general.PieDataset;
import org.jfree.data.general.DefaultPieDataset;
import org.jfree.util.Rotation;
//import java.util.Iterator;
//import java.util.Map;

public class PartidaServlet extends HttpServlet {

    private static final long serialVersionUID = 1L;
    public Statement s; //Esto se usa para las peticiones Mysql
    //private HashMap<String, User> Tabla;
    private HashMap<Integer, Game> Partidas; //Guarda el Id de la partida y la partida
    private HashMap<Integer, User> Temp; //El usuario espera un contricante(temporal)
    final String[] FormOption = {"Pregunta personalizada", "Es mujer?", "Tiene el pelo oscuro?", "Tiene el pelo rubio?",
        "Tiene el pelo largo?", "Lleva gafas?", "Tiene barba?", "Tiene bigote?", "Tiene los ojos claros?", "LLeva pendientes?","Es de mi promocion?","Es profesor/a?"};

    @Override
    public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
        response.setContentType("text/html");
        PrintWriter out = response.getWriter();
        HttpSession session = request.getSession();
        int estado; //indica el estado 0-5

        //Variable rellenaHTML
        String Msg = "";
        String meta = "<meta HTTP-EQUIV=\"REFRESH\" content=\"5; url=\">";
        String bloque1 = "";
        String bloqueTOP = "";
        String bloque2 = "";
        String bloque3 = "";
        String bloque4 = "";
        String bloque5 = "";
        String bloque6 = "<p></p>";

        //Formulario de preguntas
        String AskForm = "<form method=\"post\" action=\"partida.html\" name=\"EnviarPregunta\">";// target=\"partida.html\">";
        AskForm += "\n<select name=\"Preguntas\">";
        for(int x=0;x<FormOption.length;x++)
            AskForm += "\n<option value=\""+x+"\">" + FormOption[x] + "</option>";
        AskForm += "\n</select><br>";
        AskForm += "\n<textarea cols=\"20\" rows=\"4\" name=\"PreguntaPer\"></textarea> <br>";
        AskForm += "\n<input name=\"accion\" value=\"0\" type=\"hidden\">";
        AskForm += "\n<button value=\"envia\" name=\"envia\">Envia</button><br>";
        AskForm += "\n</form>";
        //Formulario Respuesta
        String RespForm = "<form method=\"post\" action=\"partida.html\" name=\"ContestaPregunta\">";// target=\"partida.html\">";
        RespForm += "\n<input name=\"accion\" value=\"1\" type=\"hidden\">";
        RespForm += "\n<button value=\"si\" name=\"envia\">Si</button> ";
        RespForm += "\n<button value=\"no\" name=\"envia\">No</button><br>";
        RespForm += "\n</form>";
        //Formulario fin "descarte" casillas
        String DescartForm = "<form method=\"post\" action=\"partida.html\" name=\"Descarte\">";// target=\"partida.html\">";
        DescartForm += "\n<input name=\"accion\" value=\"2\" type=\"hidden\">";
        DescartForm += "\n<button value=\"acabe\" name=\"envia\">He acabado</button> ";
        DescartForm += "\n</form>";

        Integer Npartida = (Integer) session.getAttribute("Npartida");
        Integer Player = (Integer) session.getAttribute("Player"); //TODO acordarse de borrarla cuando acabe la partida

        User usuario = (User) session.getAttribute("user_info");
        Integer accion = null;
        if (request.getParameter("accion") != null) {
            accion = Integer.parseInt(request.getParameter("accion"));//Para cambiar la logica del estado
        }
        
        //Comprovamos si el Player 2 se ha conectado a la partida ()
        if(request.getParameter("part")!=null&&!Partidas.containsKey(Npartida)){
                String nickP2=(String) request.getParameter("nickP2");
                response.sendRedirect("game.html?nd="+nickP2);
                session.removeAttribute("Player");
                session.removeAttribute("Npartida");
                Temp.remove(Npartida);
                return;          
        }
        //El usuario abandona la partida
         if(request.getParameter("go")!=null){
                response.sendRedirect("game.html?abandono=1");
                session.removeAttribute("Player");
                session.removeAttribute("Npartida");
                Partidas.remove(Npartida);
                return;          
        }
        
        if (Npartida != null && Player == null ) { //Esperando Player y creando partida
            //Creacion de partida por el Host

            if ((Temp.get(Npartida) == null)&&request.getParameter("part")==null) {
                
                Player = 0; //Le asignamos como Player 1
                //Agregamos a temporal mientras esperamos al player 2
                Temp.put(Npartida, usuario);
                // out.println("DEBUG: Player 1");
                String nickP2=(String) request.getParameter("nickP2");
                out.println("<html><head><title>Quien es Quien - Partida</title><meta HTTP-EQUIV=\"REFRESH\" content=\"6; url=partida.html?part="+Npartida+"&nickP2="+nickP2+"\"></head><body>");
                out.println("<h2>Esperando a player 2 - Game is Loading...</h2></body></html>");
                session.setAttribute("Player", Player);
                return;
            } else {
                Player = 1; //Le asignamos como Player 2
               
                //Creamos el Juego y lo guardamos en el hashmap
                Partidas.put(Npartida, new Game((User) Temp.get(Npartida), usuario));
                //Borramos de la tabla temporal la peticion
                Temp.remove(Npartida);

            }
            session.setAttribute("Player", Player);

        } else if (Npartida == null && Player == null) {
            //Algo falla, usuario no registrado?
            RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/redirect.jsp");
            dispatcher.forward(request, response);
            return;
        } else {
            //todo correcto
            
            //comprovamos que el user no haya abandonado la partida
            if(!Partidas.containsKey(Npartida)){
                response.sendRedirect("game.html?abandono=0");
                session.removeAttribute("Player");
                session.removeAttribute("Npartida");
                return;          
            }
        }
        

      //  out.println("ALGO");
        Game PartidaGame = Partidas.get(Npartida);
        if (PartidaGame != null) {
            //Logica de estado
            if (accion != null) {
                //Incrementar Estado y turno
                if (PartidaGame.getEstado() == 0) {
                    PartidaGame.incTurno();
                }
                PartidaGame.incEstado();
                if (accion == 0) { //Pregunta
                    //Obtener parametros
                    Msg = request.getParameter("Preguntas");
                    //Si la pregunta es personalizada
                    if (Integer.parseInt(Msg) == 0) {
                        Msg = request.getParameter("PreguntaPer");
                    } else {
                        Msg = FormOption[Integer.parseInt(Msg)];
                    }
                    PartidaGame.setPregunta(Msg, ((Player + 1) % 2));//La pregunta del 0 va al 1, y del 1 al 0.
                } else if (accion == 1) { //Respuesta
                    PartidaGame.incLogPreguntas((Player + 1) % 2, PartidaGame.getPregunta(Player) + " " + request.getParameter("envia"));
                /* Msg=PartidaGame.getPregunta((Player+1)%2);
                Msg+=request.getParameter("envia");*/
                //TODO agregar MSg al historico de game y luego cambiarlo al bloque6
                } else if (accion == 2) { //Descarta
                }
            }
            //
            //Codigo que depende de la logica del estado
            estado = PartidaGame.getEstado();
            //  out.println("<br><br>Acciones de estado " + estado + "<br>");
            switch (estado) {
                case 0:
                    //Comprovamos si ha acabado
                    if (PartidaGame.getNumNoDescartados(1) == 1) {
                        Persona EleccionFinal = PartidaGame.getEleccionFinal(1);
                        if (EleccionFinal == PartidaGame.getEleccionP(0)) {
                            //Ha ganado!
                            if (Player == 1) {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                /*RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player2Wins.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(true,PartidaGame));
                                
                            } else {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                /*RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player1Lose.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(false,PartidaGame));
                                
                                //BORRAR PARTIDA
                                Partidas.remove(Npartida);
                                //Estadisticas
                                insertaLogs(PartidaGame.getPlayerId(0), PartidaGame.getPlayerId(1), 1, PartidaGame.getTurno());
                            }
                        } else {
                            //Ha perdido!
                            if (Player == 1) {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                               /* RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player2Lose.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(false,PartidaGame));
                            } else {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                /*RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player1Wins.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(true,PartidaGame));
                                
                                ///BORRAR PARTIDA
                                Partidas.remove(Npartida);
                                //Estadisticas
                                insertaLogs(PartidaGame.getPlayerId(0), PartidaGame.getPlayerId(1), 0, PartidaGame.getTurno());
                                
                            }
                        }
                        return;
                    }
                    //actualizamos grafica, TODO optimizar
                    double a = PartidaGame.getNumNoDescartados(0),
                     b = PartidaGame.getNumNoDescartados(1);
                    creaImgEstadistica((a * 100.0) / (a + b), (b * 100.0) / (a + b), Npartida);
                    if (PartidaGame.getNumNoDescartados(0) == 1) {
                    }

                    if (Player == 0) {
                        bloqueTOP = "Realice su pregunta";

                        bloque5 = AskForm;
                        meta = "";
                    } else {
                        bloqueTOP = "Esperando a que el Player 1 realize su pregunta";
                    }
                    break;
                case 1:
                    if (Player == 0) {
                        bloqueTOP = "Esperando a que el Player 2 conteste la pregunta";

                    } else {
                        bloqueTOP = "Responda a la pregunta";
                        bloque5 = "<p>"+PartidaGame.getPregunta(Player) + "</p>";
                        bloque5 += RespForm;
                        meta = "";
                    }
                    break;
                case 2:
                    if (Player == 0) {
                        bloque6 = PartidaGame.getLogPreguntas(Player);
                        bloqueTOP = "Descarta los jugadores y apreta el boton al acabar";
                        bloque5 += DescartForm;
                        meta = "";
                        //Descarte de imagenes         
                        if ((request.getParameter("x") != null) && (request.getParameter("y") != null)) {
                            //out.println("<br>Descartando "+Integer.parseInt(request.getParameter("x"))+" "+Integer.parseInt(request.getParameter("y"))+"<br>");
                            PartidaGame.descartaPj(Integer.parseInt(request.getParameter("x")), Integer.parseInt(request.getParameter("y")), Player);
                        //actualizamos grafica
                          /*   a=PartidaGame.getNumNoDescartados(0);
                        b=PartidaGame.getNumNoDescartados(1);
                        creaImgEstadistica((a*100.0)/(a+b),(b*100.0)/(a+b),Npartida);*/
                        }

                    } else {
                        bloqueTOP = "Esperando a que el Player 1 descarte las fotos";
                    }
                    break;
                case 3:
                    //Comprovamos si ha acabado
                    if (PartidaGame.getNumNoDescartados(0) == 1) {
                        Persona EleccionFinal = PartidaGame.getEleccionFinal(0);
                        if (EleccionFinal == PartidaGame.getEleccionP(1)) {
                            //Ha ganado!
                            if (Player == 0) {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                
                                /*RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player1Wins.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(true,PartidaGame));
                            } else {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                //devolvemos a la pagina principal
                                out.println(GameOver(false,PartidaGame));
                             /*   RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player2Lose.jsp");
                                dispatcher.forward(request, response);*/
                                //BORRAR PARTIDA
                                Partidas.remove(Npartida);
                                //Estadisticas
                                insertaLogs(PartidaGame.getPlayerId(0), PartidaGame.getPlayerId(1), 0, PartidaGame.getTurno());
                                
                                
                            }
                        } else {
                            //Ha perdido!
                            if (Player == 0) {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                                /*RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player1Lose.jsp");
                                dispatcher.forward(request, response);*/
                                out.println(GameOver(false,PartidaGame));
                            } else {
                                session.removeAttribute("Player");
                                session.removeAttribute("Npartida");
                               /* RequestDispatcher dispatcher = request.getRequestDispatcher("/WEB-INF/Player2Wins.jsp");
                                dispatcher.forward(request, response);*/
                                //BORRAR PARTIDA
                                Partidas.remove(Npartida);
                                //Estadisticas
                                insertaLogs(PartidaGame.getPlayerId(0), PartidaGame.getPlayerId(1), 1, PartidaGame.getTurno());
                                out.println(GameOver(true,PartidaGame));
                            }
                        }
                        return;
                    }
                    //actualizamos grafica
                    a = PartidaGame.getNumNoDescartados(0);
                    b = PartidaGame.getNumNoDescartados(1);
                    creaImgEstadistica((a * 100.0) / (a + b), (b * 100.0) / (a + b), Npartida);
                    if (Player == 0) {
                        bloqueTOP = "Esperando a que  el Player 2 realize su pregunta";
                    } else {
                        bloqueTOP = "Realice su pregunta";
                        bloque5 = AskForm;
                        meta = "";
                    }
                    break;
                case 4:
                    if (Player == 0) {
                        bloqueTOP = "Responda a la pregunta";
                        bloque5 = "<p>"+PartidaGame.getPregunta(Player) + "</p>";
                        bloque5 += RespForm;
                        meta = "";
                    } else {
                        bloqueTOP = "Esperando a que el Player 1 conteste la pregunta";
                    }
                    break;
                case 5:
                    if (Player == 0) {
                        bloqueTOP = "Esperando a que el Player 2 descarte las fotos";
                    } else {
                        bloque6 = PartidaGame.getLogPreguntas(Player);
                        bloqueTOP = "Descarta los jugadores y apreta el boton al acabar";
                        bloque5 += DescartForm;
                        meta = "";
                        //Descarte de imagenes         
                        if ((request.getParameter("x") != null) && (request.getParameter("y") != null)) {
                            //out.println("<br>Descartando "+Integer.parseInt(request.getParameter("x"))+" "+Integer.parseInt(request.getParameter("y"))+"<br>");
                            PartidaGame.descartaPj(Integer.parseInt(request.getParameter("x")), Integer.parseInt(request.getParameter("y")), Player);
                        //actualizamos grafica
                            /* a=PartidaGame.getNumNoDescartados(0);
                        b=PartidaGame.getNumNoDescartados(1);
                        creaImgEstadistica((a*100.0)/(a+b),(b*100.0)/(a+b),Npartida);*/
                        }
                    }
                    break;
            }

            ///
            out.println("<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"+
                    "<html><head><title>Quien es Quien - Partida</title>" +
                    "\n<link href=\"../css/basic.css\" rel=\"stylesheet\" type=\"text/css\" />" +
                    "\n<link href=\"../css/" + Player + ".css\" rel=\"stylesheet\" type=\"text/css\" />" +
                    "\n" + meta + "</head><body>");
            out.println("<div id=\"All\">");
            //Bloque DIV 1
            out.println("<div id=\"header\">");
            out.println("<img src=\"/IMG/quienesquien/logo.png\" alt=\"Logo\">");
            out.println("<h3><a href=\"partida.html?go=0\">Fin partida</a></h3>");
            out.println("</div>");
            
   
            //Bloque DIV 2
            out.println("<div id=\"left\">");
            out.println("<p>Player "+(Player +1)+":</p>");
            out.println("<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + usuario.getuid() + ".jpg\" width=\"87\" height=\"108\" alt=\"" + usuario.getuid() +"\" ><br>");
            out.println("<h4>" + usuario.getnick() + "</h4>");
            out.println("<p>Player "+((Player + 1) % 2+1)+":</p>");
            out.println("<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + PartidaGame.getPlayerUid((Player + 1) % 2) + ".jpg\" width=\"88\" height=\"110\" alt=\""+ PartidaGame.getPlayerUid((Player + 1) % 2) +"\"><br>");
            out.println("<h4>" + PartidaGame.getPlayerNick((Player + 1) % 2) + "</h4>");
            // out.println("Ganaras?:<br>");
            out.println("<img src=\"/IMG/quienesquien/Estadistica" + Npartida + ".png\" alt=\"Actualizando...\" >");
            out.println("</div>");
            
          /*  out.println("Debug: Tu partida es la " + Npartida + " y eres el player" + (Player + 1));
            out.println("<br>Debug: Turno: " + PartidaGame.getTurno());
            out.println("<br>Debug: Estado: " + PartidaGame.getEstado());*/

            //Bloque DIV 3
            out.println("<div id=\"center\">");
            //Tabla con las fotos de los usuarios
            out.println("<table class=\"user\">");
            for (int x = 0; x < 4; x++) {
                out.println("<tr class=\"user\">");
                for (int y = 0; y < 6; y++) {
                    out.print("<td class=\"user\">");
                    //Comprobamos si la imagen ha sido ya descartada
                    if (!PartidaGame.isDescarted(x, y, Player)) {
                        //Habilitamos la posibilidad de descartar las imagenes, solo para los estados 2 y 5
                        if ((estado == 2 && Player == 0) || (estado == 5 && Player == 1)) {
                            out.print("<a href=\"partida.html?x=" + x + "&y=" + y + "\">");
                            out.print("<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + PartidaGame.getUid(x, y) + ".jpg\" width=\"88\" height=\"110\" title=\"" + PartidaGame.getNombre(x, y) + "\" alt=\""+ PartidaGame.getUid(x, y) +"\">");
                            out.print("</a>");
                        } else {
                            out.print("<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + PartidaGame.getUid(x, y) + ".jpg\" width=\"88\" height=\"110\" title=\"" + PartidaGame.getNombre(x, y) + "\" alt=\""+ PartidaGame.getNombre(x, y) +"\">");
                        }
                    } else {
                        out.print("<img src=\"/IMG/quienesquien/blank.jpg\" width=\"88\" height=\"110\" alt=\"Pj Descartado\">");
                    }
                    out.println("</td>");
                }
                out.println("</tr>");
            }
            out.println("</table>");
            out.println("</div>");
            
            //Bloque DIV 4
            out.println("<div id=\"right\">");
            //Datos del Player elegido
            out.println("Jugador elegido:<br>");
            out.println("<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + PartidaGame.getSelectPUid(Player) + ".jpg\" width=\"88\" height=\"110\" alt=\""+ PartidaGame.getSelectPUid(Player) +"\">");
            out.println("<h4>" + PartidaGame.getSelectPNm(Player) + "</h4>");
            out.println("</div>");
      
            //Separador
            out.println("<h4>" + bloqueTOP + "</h4>");

            //Cheat Mode On
            if(request.getParameter("CheatModeOn")!=null){
                out.println("<div id=\"alertas\">");
                out.println("<h2>Cheat Mode On! - Player 1 -> "+PartidaGame.getSelectPNm(0)+" Player 2-> "+PartidaGame.getSelectPNm(1)+"</h2>");
                out.println("</div>");
            }
            
            //Bloque parte baja
            out.println("<div id=\"baix\">");

            //Bloque DIV 5
            out.println("<div id=\"baix_left\">");
            out.println(bloque5);
            out.println("</div>");

            //Bloque DIV 6
            out.println("<div id=\"baix_right\">");
            out.println(bloque6);
            out.println("</div>");


            out.println("</div>");
            out.println("<h5>Quien es Quien -Telecos Edition - Aplicaciones Telematicas 3 - UPF 2009</h5>");
           
out.println("</div>\n</body>\n</html>");
      /*      //Codigo imagen estadistica
            out.println("<br><br>Imagen estadistica:<br>");
            out.println("<img src=\"/IMG/quienesquien/Estadistica" + Npartida + ".png\" >");*/
        }

    }

    @Override
    public void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        doGet(request, response);
    }

    @Override
    public void init() {
        try {
            try {
                this.s = crearStatement();
            } catch (ClassNotFoundException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        //Creamos el HashMap donde guardaremos los usuarios
        Partidas = new HashMap<Integer, Game>();
        Temp = new HashMap<Integer, User>();
    }

    public Statement crearStatement() throws SQLException, ClassNotFoundException {
        //Comprobamos que tenemos el driver de java mysql
        Class.forName("com.mysql.jdbc.Driver");
        // Establecemos la conexion con la base de datos.
        Connection conexion = DriverManager.getConnection("jdbc:mysql://localhost/quien_es_quien", "quien_es_quien", "quien_es_quien");
        // Preparamos la consulta
        return conexion.createStatement();
    }

    //Inserta las peticiones en la base de datos
    public boolean insertaPeticion(Statement s, String consulta) throws Exception {
        s.executeUpdate(consulta);
        return true;
    }

    public void creaImgEstadistica(Double a, Double b, int NPartida) {

        //Poner Values
        DefaultPieDataset result = new DefaultPieDataset();
        result.setValue("P1", b);
        result.setValue("P2", a);
        PieDataset dataset = result;
        // Creamos el grafico...
        JFreeChart chart = ChartFactory.createPieChart3D("¿Quien Ganará?", dataset, false, false, true);
        PiePlot3D plot = (PiePlot3D) chart.getPlot();
        plot.setStartAngle(90);
        plot.setDirection(Rotation.CLOCKWISE);
        plot.setForegroundAlpha(0.5f);
        plot.setNoDataMessage("A Jugar!!!");
        try {
            ChartUtilities.saveChartAsPNG(new File("/usr/share/tomcat5.5/webapps/ROOT/IMG/quienesquien/Estadistica" + NPartida + ".png"), chart, 194, 116);
        } catch (IOException ex) {
        }

    }

    public void insertaLogs(int idP1, int idP2, int win, int Rondas) {
        String consulta = "INSERT INTO historico_games (id_p1,id_p2,ganador,rondas,fecha) VALUES ('" + idP1 + "', '" + idP2 + "', '" + win + "', '" + Rondas + "', NOW( ))";
        try {
            s.executeUpdate(consulta);
        } catch (SQLException ex) {
            Logger.getLogger(PartidaServlet.class.getName()).log(Level.SEVERE, null, ex);
        }
    }
    public String GameOver(boolean Ganador,Game partida){
        String html="<!DOCTYPE html PUBLIC \"-//W3C//DTD HTML 4.01//EN\" \"http://www.w3.org/TR/html4/strict.dtd\">"+
            "<html><head><title>Game Over!</title>"+
            "<link href=\"../css/basic.css\" rel=\"stylesheet\" type=\"text/css\" />"+
            "<meta HTTP-EQUIV=\"REFRESH\" content=\"8; url=game.html\">"+
            "\n</head>\n<body>\n<div id=\"All\">" +
            "<div id=\"header\">\n<img src=\"/IMG/quienesquien/logo.png\" alt=\"Logo\">\n<h3>Fin partida</h3>\n</div>"+
            "<br><br>\n<h4>";
            if(Ganador)html+="You Win";
            else html+="You Lose";
                    
        
            

            html+="</h4>\n<h4>GAME OVER</h4>"+
              "<div id=\"baix\">";

            //Bloque DIV 5
             html+="<div id=\"baix_left\">"+
              "<p>La eleccion del Player 1 era:"+partida.getSelectPNm(0)+"</p>"+
            "<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + partida.getSelectPUid(0)+".jpg\" width=\"88\" height=\"110\" alt=\"fotoP1\"><br>";
            html+="</div>";

            //Bloque DIV 6
             html+="<div id=\"baix_right\">"+
             "<p>La eleccion del Player 2 era:"+partida.getSelectPNm(1)+"</p>"+
            "<img src=\"/IMG/quienesquien/FOTOS_PERSONAS/" + partida.getSelectPUid(1)+".jpg\" width=\"88\" height=\"110\" alt=\"fotoP2\"><br>";
             html+="</div>";


             html+="</div>\n<h5>Quien es Quien Telecos - Aplicaciones Telematicas 3 - UPF 2009</h5>\n</div>\n<body>\n</html>";
        
        
        return html;
    }
}